package leetcode.code190.ReverseBits;

import leetcode.IDebug;

public abstract class ReverseBits implements IDebug {

	abstract public int reverseBits(int n);

	@Override
	public void debug1() {
		int input = 0b00000010100101000001111010011100;
		int ouput = 0b00111001011110000010100101000000;
		int result = this.reverseBits(input);
		System.out.println(ouput == result);
	}

	@Override
	public void debug2() {
		int input = 0b11111111111111111111111111111101;
		int ouput = 0b10111111111111111111111111111111;
		int result = this.reverseBits(input);
		System.out.println(ouput == result);
	}

	@Override
	public void debug3() {
		int input = 0b00000010100101000001111010011100;
		int ouput = 0b00111001011110000010100101000000;
		int result = this.reverseBits(input);
		System.out.println(ouput == result);
	}

	@Override
	public void debug4() {
		int input = 0b11111111111111111111111111111101;
		int ouput = 0b10111111111111111111111111111111;
		int result = this.reverseBits(input);
		System.out.println(ouput == result);
	}

}
